#!/bin/bash

# Name: 段锦涛
# Desc: 创建用户
# Path:
# Usage: 创建10个用户并给他们设置随机密码，密码记录到一个文件里，
# 				文件名userinfo.txt, 用户从user_00 到 user_09
# Update: 2023年9月18日


userInfoPath=/tmp/userInfo.txt

# 判断是否存在userInfo文件，存在则删除
if [ -f $userInfoPath ]
then
	rm -f $userInfoPath
fi


# 判断mkpasswd命令是否存在，用该命令生成随机字符串，作为用户密码
if ! which mkpasswd
then
	yum install -y expect
fi

# 使用 seq 生成从 00 到 09, 10个数的队列. -w 可以指定等宽
for i in `seq -w 0 09` 
do 
	# mkpasswd 默认生成的字符串会包含大小写、数字和特殊字符
	# -l 长度为15. 如果不要求特殊符号，可以加 -s 0 来限定不使用特殊字符
	p=`mkpasswd -l 15 -s 0`
	# 添加用户, 使用 && 连接可以保证用户添加成功才会执行passwd命令
	useradd user_${i} && echo ${p} | passwd --stdin user_${i}
	echo "user_${i}  ${p}" >> ${userInfoPath} 
done


# 总结
# 1. mkpasswd 可以生成随机字符串，-l 指定长度， -s 指定特殊字符个数，-c 指定小写字符个数
# 		-C 指定大写字母个数， -d 指定数字个数
# 2. seq 可以生成序列, 用法: seq 1 5; seq 5; seq 1 2 10; seq 10 -2 1; seq -w 1 10
#
# 3. passwd --stdin username